package com.example.docking.dao.xky;

import lombok.Data;

import java.util.List;

/**
 * 
 *
 * @author: tengguodong
 * @date: 2025/5/29
 */
@Data
public class PurchaseOrderDetail {

    private String poErpNo; // ERP单据号
    private String poXkNo; // 平台单据号
    private String erpOrgCode; // ERP中组织编码
    private String erpOrgName; // ERP中组织名称
    private Integer purchaseType; // 采购类型定义说明
    private String innerVendorCode; // 内部供应商编码（ERP）
    private String innerVendorName; // 内部供应商名称
    private Long erpPurchaseDate; // 采购日期
    private String purDepartmentCode; // 采购部门编码
    private String purDepartmentName; // 采购部门名称
    private String erpAccount; // 建单人ERP帐号
    private String employeeCode; // 建单人员工编码
    private String employeeName; // 建单人员工姓名
    private String buyerCode; // 采购员-员工编码
    private String buyerName; // 采购员-员工名称
    private Long erpAuditingDate; // 发布日期(审核日期)
    private String auditEmployeeCode; // 发布人员工编码
    private String auditEmployeeName; // 发布人员工姓名
    private String currencyCode; // 交易币种编码
    private String currencyName; // 交易币种名称
    private String taxCode; // 交易税种编码
    private String taxName; // 交易税种名称
    private Double taxRate; // 税率
    private Integer isContainTax; // 交易是否含税 0：不含税 1：含税
    private String conditionCode; // 交易条件编码
    private String conditionName; // 交易条件名称
    private String payWayCode; // 付款条件编码
    private String payWayName; // 付款条件名称
    private Integer logisticsType; // 物流方式(1-物流2-快递3-自提)
    private String logisticsCode; // 物流商编码
    private String logisticsName; // 物流商名称
    private String addressCode; // 收货/自提点内部地址码
    private String countryCode; // 国家编码
    private String conountryName; // 国家名称
    private String provinceCode; // 省份编码
    private String provinceName; // 省份名称
    private String cityCode; // 地市编码
    private String cityName; // 地市名称
    private String districtCode; // 地区编码
    private String districtName; // 地区名称
    private String addressInfo; // 收货地址明细
    private String contactPersion; // 联系人
    private String contactMobile; // 联系电话
    private String contactMobileArea; // 手机地区码
    private String storeCode; // 仓库编码
    private String storeName; // 仓库名称
    private String agreement; // 协议条款
    private String remark; // 订单备注
    private Integer orderStatus; // 订单状态
    private Integer receiveStatus; // 收货状态
    private Integer printStatus; // 打印状态 0未打印,1已打印
    private String contractualClause; // 合同条款
    private Integer syncStatus; // 同步状态 0未同步 1同步中 2成功 3失败
    private String syncMessage; // 同步消息
    private String syncDate; // 同步时间
    private Integer esignStatus; // (电子签章)合同电子签署状态
    private Integer sourceType; // 采购来源定义
    private Integer prodSourceType; // 商品来源
    private List<String> sourceInnerNoSet; // 采购来源数组
    private String extendN01; // 扩展字段1
    private String extendN02; // 扩展字段2
    private String extendN03; // 扩展字段3
    private String extendN04; // 扩展字段4
    private String extendN05; // 扩展字段5
    private String extendN06; // 扩展字段6
    private String extendN07; // 扩展字段7
    private String extendN08; // 扩展字段8
    private String extendN09; // 扩展字段9
    private String extendN10; // 扩展字段10
    private String extendDef; // 自定字段版本号
    private String fieldsShow; // 自定字段显示名称
    private Double totallInclusiveBaseCurrencyAmount; // 本币含税金额总计
    private Double totalExclusiveBaseCurrencyAmount; // 本币未税金额总计
    private Double totalGroupCurrencyAmount; // 集团货币合计金额
    private Double productTotal; // 原币无税总金额
    private Double productTaxTotal; // 原币含税总金额
    private Double otherCostTotal; // 原币其他费用无税总计
    private Double otherCostTaxTotal; // 原币其他费用含税总计
    private Double totalAmount; // 原币单据总合计
    private String platformExtendN01; // 平台自定义字段1
    private String platformExtendN02; // 平台自定义字段2
    private String platformExtendN03; // 平台自定义字段3
    private String platformExtendN04; // 平台自定义字段4
    private String platformExtendN05; // 平台自定义字段5
    private String platformExtendN06; // 平台自定义字段6
    private String wbsProjectCode; // wbs项目编码
    private String wbsProjectName; // wbs项目名称
    private String virtualCountryCode; // 虚拟供应商国家编码
    private String virtualCountryName; // 虚拟供应商国家名称
    private String virtualProvinceCode; // 虚拟供应商省份编码
    private String virtualProvinceName; // 虚拟供应商省份名称
    private String virtualAddress; // 虚拟供应商详细地址信息
    private String virtualVendorName; // 虚拟供应商供货方名称
    private String purchaseGroupCode; // 采购组编码
    private String purchaseGroupName; // 采购组名称
    private String vendorRemark; // 供应商备注
    private String customsDeclarationModeCode; // 报关模式编码
    private String customsDeclarationModeName; // 报关模式名称

    // 新增字段
    private String erpDepartmentCode; // 建单人部门编码
    private String erpDepartmentName; // 建单人部门名称
    private String sendAuditEmpNumber; // 送审人工号
    private String sendAuditEmpName; // 送审人姓名
    private String erpPriceConditionCode; // 价格条件编码
    private String erpPriceConditionName; // 价格条件名称
    private Number mroPayStatus; // 付款状态
    private String costCenterCode; // 成本中心-编码
    private String costCenterName; // 成本中心-名称
    private String budgetCodeCode; // 预算代码编码
    private String budgetCodeName; // 预算代码名称
    private String paymentSubjectCode; // 总账科目-编码
    private String paymentSubjectName; // 总账科目-名称
    private String paymentMethodName; // 付款方式-名称
    private Number workflowStatus; // 审批状态
    private String formTypeCode; // 单别编码
    private String formTypeName; // 单别名称
    private String paymentDaysCode; // 账期编码
    private String paymentDaysName; // 账期名称
    private List<ProductLineItem> lineList; // 产品明细列表

    // 添加新字段
    private List<AfterSaleOrderList> afterSaleOrderList; // 售后单列表信息（isReturnAfterSaleOrder == 1）的场合返回
    private List<EmpList> empList; // 协作人列表
    private List<PoInstallmentRuleList> polInstallmentRuleList; // 分期付款规则对象列表

}
